import request from '@/config/axios'

// 员工档案 VO
export interface EmployeeArchiveVO {
  id: number // 员工档案ID
  userId: string // 员工表id
  gender: number // 性别(0未知 1男 2女)
  birthDate: Date // 出生日期
  politicalStatus: string // 政治面貌
  ethnicGroup: string // 民族
  householdType: number // 户口性质(农村户口/城镇户口)
  idCard: string // 身份证号码
  maritalStatus: number // 婚姻状况(未婚/已婚)
  nativePlace: string // 籍贯
  householdLocation: string // 户口所在地
  graduateInstitution: string // 毕业院校
  highestDegree: string // 最高学历
  major: string // 专业
  graduationDate: Date // 毕业日期
  homeAddress: string // 家庭住址
  currentAddress: string // 现住地址
  emergencyContactPhone: string // 紧急联系人手机号码
  emergencyContact: string // 紧急联系人
  employeeType: number // 员工类型 .兼职人员
  hireDate: Date // 入职日期
  endDate?: Date // 离职日期
  employeeStatus: number // 员工状态(0-在职, 1-离职)
  workStartDate: Date // 参加工作时间
  bankName: string // 工资卡开户行
  bankAccount: string // 工资卡帐号
  socialSecurityNumber: string // 社保卡号
  housingFundNumber: string // 公积金号
  employeeIntro: string // 员工简介
  appendix: string // 附件
}



// 员工档案 API
export const EmployeeArchiveApi = {
  // 查询员工档案分页
  getEmployeeArchivePage: async (params: any) => {
    return await request.get({ url: `/oa/employee-archive/page`, params })
  },

  // 查询员工档案详情
  getEmployeeArchive: async (id: number) => {
    return await request.get({ url: `/oa/employee-archive/get?id=` + id })
  },

  // 查询登录用户详情
  getUserInfo: async (userId: number) => {
    return await request.get({ url: `/system/user/get?id=` + userId })
  },

  // 新增员工档案
  createEmployeeArchive: async (data: EmployeeArchiveVO) => {
    return await request.post({ url: `/oa/employee-archive/create`, data })
  },

  // 修改员工档案
  updateEmployeeArchive: async (data: EmployeeArchiveVO) => {
    return await request.put({ url: `/oa/employee-archive/update`, data })
  },

  // 删除员工档案
  deleteEmployeeArchive: async (id: number) => {
    return await request.delete({ url: `/oa/employee-archive/delete?id=` + id })
  },

  // 导出员工档案 Excel
  exportEmployeeArchive: async (params) => {
    return await request.download({ url: `/oa/employee-archive/export-excel`, params })
  },

  // 员工离职
  resignEmployee: async (id: number, endDate: string) => {
    return await request.put({ url: `/oa/employee-archive/resign?id=${id}&endDate=${endDate}` })
  },

}
